package com.work.dto.builder;

import java.util.Date;

import com.work.dto.CardDto;
import com.work.model.builder.Builder;

/**
 * The Class CardDtoBuilder.
 *
 * @author "Mihai Roman"
 */
public class CardDtoBuilder extends Builder<CardDto>{

	/**
	 * With id card.
	 *
	 * @param dtoIdCards the dto id cards
	 * @return the card dto builder
	 */
	private CardDtoBuilder withIdCard(int dtoIdCards) {
		build().setDtoIdCards(dtoIdCards);
		return this;
	}
	
	/**
	 * With card nb.
	 *
	 * @param dtoCardNB the dto card nb
	 * @return the card dto builder
	 */
	private CardDtoBuilder withCardNB(String dtoCardNB) {
		build().setDtoCardNB(dtoCardNB);
		return this;
	}
	
	/**
	 * With created by.
	 *
	 * @param dtoCreatedBy the dto created by
	 * @return the card dto builder
	 */
	private CardDtoBuilder withCreatedBy(int dtoCreatedBy) {
		build().setDtoCreatedBy(dtoCreatedBy);
		return this;
	}
	
	/**
	 * With creation date.
	 *
	 * @param dtoCreationDate the dto creation date
	 * @return the card dto builder
	 */
	private CardDtoBuilder withCreationDate(Date dtoCreationDate) {
		build().setDtoCreationDate(dtoCreationDate);
		return this;
	}
	
	/**
	 * With updated date.
	 *
	 * @param dtoUpdateDate the dto update date
	 * @return the card dto builder
	 */
	private CardDtoBuilder withUpdatedDate(Date dtoUpdateDate) {
		build().setDtoUpdateDate(dtoUpdateDate);
		return this;
	}
	
	/**
	 * With updated by.
	 *
	 * @param dtoUpdatedBy the dto updated by
	 * @return the card dto builder
	 */
	private CardDtoBuilder withUpdatedBy(int dtoUpdatedBy) {
		build().setDtoUpdatedBy(dtoUpdatedBy);
		return this;
	}
	
	/**
	 * With expiration date.
	 *
	 * @param dtoExpirationDate the dto expiration date
	 * @return the card dto builder
	 */
	private CardDtoBuilder withExpirationDate(Date dtoExpirationDate) {
		build().setDtoExpirationDate(dtoExpirationDate);
		return this;
	}
	
	/**
	 * With own by.
	 *
	 * @param dtoOwnBy the dto own by
	 * @return the card dto builder
	 */
	private CardDtoBuilder withOwnBy(int dtoOwnBy) {
		build().setDtoOwnBy(dtoOwnBy);
		return this;
	}
	
}
